package com.wicket.okrbff.biz.service.dto.res;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc BffQueryBasicMgtSituationDetailRespDto
 * @使用场景
 */
@Data
public class BffQueryBasicMgtSituationDetailRespDto implements Serializable {

  /**
   * 进入管理
   */
  @ApiModelProperty("进入管理")
  private Long enterMgtObj;

  /**
   * 开始管理
   */
  @ApiModelProperty("开始管理")
  private String startMgtObj;

  /**
   * 步骤菜单
   */
  @ApiModelProperty("步骤菜单")
  private String stepMenus;

  /**
   * 步骤条
   */
  @ApiModelProperty("步骤条")
  private String stepItem;

  /**
   * 锁定原因
   */
  @ApiModelProperty("锁定原因")
  private String lockReasonObj;

  /**
   * 变更记录
   */
  @ApiModelProperty("变更记录")
  private String changeRecordObj;

  /**
   * 确认设置完成
   */
  @ApiModelProperty("确认设置完成")
  private String setCompleteObj;

  /**
   * 取消设置完成
   */
  @ApiModelProperty("取消设置完成")
  private String cancelSetCompleteObj;

  /**
   * 目标任务分工
   */
  @ApiModelProperty("目标任务分工")
  private String targetTaskDivision;

  /**
   * 基层返回执行目标安排
   */
  @ApiModelProperty("基层返回执行目标安排")
  private String rollbackExecuteTargetDivObj;

  /**
   * 完成安排
   */
  @ApiModelProperty("完成安排")
  private String achieveArrange;

  /**
   * 修改目标安排
   */
  @ApiModelProperty("修改目标安排")
  private String editTargetArrange;

  /**
   * 发布生效
   */
  @ApiModelProperty("发布生效")
  private String releaseEffectObj;

  /**
   * 撤销修订
   */
  @ApiModelProperty("撤销修订")
  private String cancelRevisionObj;

  /**
   * 首次操作
   */
  @ApiModelProperty("首次操作")
  private String firstOperation;

  /**
   * 后续操作
   */
  @ApiModelProperty("后续操作")
  private String trailingOperation;

  /**
   * 全批次操作
   */
  @ApiModelProperty("全批次操作")
  private String mixtureOperation;

  /**
   * 执行目标安排房间
   */
  @ApiModelProperty("执行目标安排房间")
  private String executeTargetArrangeRoom;

  /**
   * 目标任务分工房间
   */
  @ApiModelProperty("目标任务分工房间")
  private String targetTaskDivRoom;

  /**
   * 完成安排房间
   */
  @ApiModelProperty("完成安排房间")
  private String achieveArrangeRoom;

  /**
   * 批次标识
   */
  @ApiModelProperty("批次标识")
  private String batchCode;

  /**
   * 批次现状
   */
  @ApiModelProperty("批次现状")
  private String batchCurrentStatus;

  /**
   * 被评对象目标周期ID
   */
  @ApiModelProperty("部门OKR目标ID")
  private String evaObjTargetCycleId;

  /**
   * 评价模板ID
   */
  @ApiModelProperty("评价模板ID")
  private String evaluationTemplateId;

  /**
   * 对应的目标ID
   */
  @ApiModelProperty("对应的目标ID")
  private String targetId;

  /**
   * 周期模式类型编码 FATHER_SON_CYCLE:父子周期 SINGLE_CYCLE:单周期 IRREGULAR_CYCLE:不规则周期
   */
  @ApiModelProperty("周期模式类型编码")
  private String periodicModeTypeCode;

  /**
   * 权重设置方式
   */
  @ApiModelProperty("权重设置方式")
  private String weightSetWay;

  /**
   * 权重设置方式名称
   */
  @ApiModelProperty("权重设置方式名称")
  private String weightSetWayName;

  /**
   * 进度指标是否允许重复安排
   */
  @ApiModelProperty("进度指标是否允许重复安排")
  private String progressObjIsRedoArrange;

  /**
   * 目标满分制单位
   */
  @ApiModelProperty("目标满分制单位")
  private String targetFullMarkUnit;

  /**
   * 是否开启自定义汇报 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否开启自定义汇报")
  private String isOpenCustomReport;

  /**
   * 冗余评价模板类型配置项
   */
  @ApiModelProperty("冗余评价模板类型配置项")
  private String evaluationTemplateTypeCode;

  /**
   * 是否启用预算 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否启用预算")
  private String isOpenBudget;

  /**
   * 预算层级 PLAN_BUDGET:预算在规划 PRIMARY_CON_TASK_BUDGET:一级建设任务 LAST_CON_TASK_BUDGET:末级建设任务 OBSERVATION_POINT_BUDGET:观测点预算
   */
  @ApiModelProperty("预算层级")
  private String budgetHierarchy;

  /**
   * 管理类型 NORMAL_OPERTION:正常操作流程 ROLLBACK_ADJUST:回退操作流程
   */
  @ApiModelProperty("管理类型")
  private String mgtType;

  /**
   * 是否进度型评价模板
   */
  @ApiModelProperty("是否进度型评价模板")
  private String isProgressTemp;

}
